package cn.iocoder.yudao.module.jikong.controller.admin.jkOrder.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 单据新增/修改 Request VO")
@Data
public class JkOrderSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29351")
    private Long id;

    @Schema(description = "单据编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderNo;

    @Schema(description = "用户id", example = "3838")
    private Long userId;

    @Schema(description = "用户登录账号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String userPhone;

    @Schema(description = "用户类型", example = "1")
    private Integer userType;

    @Schema(description = "真实姓名", example = "芋艿")
    private String realName;

    @Schema(description = "单据状态", example = "1")
    private Integer status;

    @Schema(description = "申请人地址")
    private String address;

    @Schema(description = "申请联系人", example = "芋艿")
    private String contactName;

    @Schema(description = "申请人联系手机")
    private String contactPhone;

    @Schema(description = "样本领取时间")
    private LocalDateTime receiveTime;

    @Schema(description = "样本归还时间")
    private LocalDateTime rebackTime;

    @Schema(description = "样本领取方式", example = "2")
    private String receiveType;

    private Long productId;

    @Schema(description = "审批意见-随便填写", example = "1")
    private String passWords;

    @Schema(description = "拒绝意见-随便填写", example = "1")
    private String rejectWords;


    //数据使用申请表
    @Schema(description = "研究背景与目的")
    private String applyBackground;
    @Schema(description = "详细分析计划")
    private String applyPlan;
    @Schema(description = "所需变量清单",example = "file1url,...,file3url")
    private String applyList;
    @Schema(description = "伦理审查证明")
    private String applyProof;
    @Schema(description = "样本申请规格id")
    private Integer productSize;
    @Schema(description = "样本申请备注")
    private String remark;
    @Schema(description = "样本申请数量")
    private Integer applyNum;

    //协议
    @Schema(description = "数据使用协议")
    private String dataAgreement;
    @Schema(description = "知识产权协议")
    private String knowledgeAgreement;
    @Schema(description = "数据安全协议")
    private String dataSecurityAgreement;

    //专家审批字段
    @Schema(description = "科学价值")
    private String scientificValue;
    @Schema(description = "数据安全方案")
    private String dataSecurity;
    @Schema(description = "是否符合队列建设目标")
    private Integer targetOk;
}
